package com.saer.client;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.saer.client.constants.SaerProperties;
import com.saer.client.dto.diagnostico.VisitaDto;
import com.saer.client.dto.network.MsgDto;

/**
 * The async counterpart of <code>RemoteWebService</code>.
 */
public interface RemoteWebServiceAsync {

	void exportListGrid(String[][] data, AsyncCallback<String> callback);

	void ping(AsyncCallback<Void> callback);

	void getVisitas(AsyncCallback<List<VisitaDto>> callback);

	void getSaerProperties(AsyncCallback<SaerProperties> callback);

	void esperaVisita(AsyncCallback<Void> callback);

	void updateStatusVisita(int id, int status, AsyncCallback<Void> callback);

	void getNewVisita(int clientId, int centroMedicoType, int centroMedicoId, AsyncCallback<MsgDto> callback);

	void endPoll(int clientId, int centroMedicoType, int centroMedicoId, AsyncCallback<MsgDto> callback);

	void getVisitas(int centroMedicoType, int centroMedicoId, AsyncCallback<List<VisitaDto>> callback);

	void getVisitasByHospital(int hospitalId, AsyncCallback<List<VisitaDto>> callback);
	
	void sendToChacra(int visitaId, int capId, String text, AsyncCallback<MsgDto> callback);

}
